﻿
namespace CmdArgs.Validation
{
    using System.Collections.Generic;
    using CmdArgs.Settings;

    /// <summary>
    /// Provides method for option's parameters validation.
    /// </summary>
    public interface IOptionValidator
    {
        /// <summary>
        /// Validates the specified values of option.
        /// </summary>
        /// <param name="values">The parameters values.</param>
        /// <param name="optionSettings">Settings of the option whose parameters are validated.</param>
        /// <returns>The validation result with list of validation errors.</returns>
        ValidationResult Validate(IEnumerable<string> values, OptionSettings optionSettings);
    }
}
